package Array;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * Created by joel on 2018/7/6.
 * 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。

 给出两个整数 x 和 y，计算它们之间的汉明距离。

 注意：
 0 ≤ x, y < 231.

 示例:

 输入: x = 1, y = 4

 输出: 2

 解释:
 1   (0 0 0 1)
 4   (0 1 0 0)
 ↑   ↑

 上面的箭头指出了对应二进制位不同的位置。
 */
public class HammingDistance {
    public int hammingDistance(int x, int y) {
        //最优
//        return Integer.bitCount(x ^ y);
        //可学习
        int res = 0;
        for(int i = 0; i < 32; i++){
            res += (x & 1) ^ (y & 1);
            x = x >> 1;
            y = y >> 1;
        }
        return res;
        //自己写
//        String xBinary = Integer.toBinaryString(x);
//        String yBinary = Integer.toBinaryString(y);
//        int result = 0;
//        for (char i : xBinary.toCharArray()) {
//            for(char j : yBinary.toCharArray()) {
//                if(i == j) {
//                    continue;
//                } else {
//                    result ++ ;
//                }
//            }
//        }
//        return result;
//    }
    }

}
 class HammingMain {
    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String line;
        while ((line = in.readLine()) != null) {
            int x = Integer.parseInt(line);
            line = in.readLine();
            int y = Integer.parseInt(line);

            int ret = new HammingDistance().hammingDistance(x, y);

            String out = String.valueOf(ret);

            System.out.print(out);
        }
    }
}

